1. Field of the Invention
The present invention relates to an image forming apparatus, a license managing method for applications executed by an image forming apparatus, a program for implementing the method, and a storage medium storing the program.
2. Description of the Related Art
Conventionally, image forming apparatuses capable of adding and deleting functions by installing or uninstalling applications have been already known. Some of these image forming apparatuses include a function of managing a group of applications which operate on the image forming apparatuses based on respective licenses specific to the applications.
License information for managing an application, which is included in such a license, includes, for example, an application name, a version, a provider, an expiration date for use (term of use), the maximum number of times the application can be used. These pieces of license-information are generally stored in a storage device in the image forming apparatus, and are used for managing the operation of the application, as required.
As a conventional example of a platform for executing the application which is managed based on the above described license, one that first refers to license information in executing the application, and executes the application as it is if the expiration date has not been reached. Similarly, when the application is managed by the maximum number of times of use, the platform first refers to the license information, and executes the application as it is if the maximum number of times of use has not been reached.
However, when the term of use has expired or the maximum number of times of use has been reached before execution of the application or during operation of the application, normally the operation of the application is brought into a limited or inoperable state immediately thereafter. To return to a state in which the application is normally operable from this state, generally, the user performs the procedure of updating the license, obtains a new license, updates the license information held in the storage device in the image forming apparatus based on the license, and restarts the application.
A technique for avoiding intermittence of a system caused by the expiration of a license has been proposed, in which a user is prompted to update the license a fixed time period in advance of the expiration of the license by issuing a warning message indicating the remaining time period before the expiration of use of the program (for example, see Japanese Laid-Open Patent Publication (Kokai) No. H05-197542).
However, according to the above technique disclosed in Japanese Laid-Open Patent Publication (Kokai) No. H05-197542, a license may expire during operation of the application when the user gets used to a warning message issued the fixed time period in advance of the expiration of the license and postpones the operation of updating the license.
When expiration of the license occurs during operation of the application, it is necessary for the user to once terminate the execution of the application is, subsequently access an associated license server from a personal computer or the like, take the procedure of updating the license, obtain a new license, update the license information held in the storage device in the image forming apparatus based on the license, and restart the application.
The reason why it is thus necessary to take the procedure for updating the license from the personal computer or the like and obtain the new license is that there exists no appropriate or perfect means for directly accessing the external license server from the image forming apparatus and taking the procedure for updating the license to obtain a new license.
The reason why it is thus necessary to restart the application though the license information has been updated is that it is only at the time of restart of the application that the platform confirms the license information of the application, and there is no means for letting the application itself know that the license information has been updated during the operation of the application. Thus, to make it unnecessary to perform the operation of restarting the application, a method of causing the application itself to operate while periodically checking the license information can be envisaged, but with this method, the license information is not always updated immediately, leading to a very inefficient operation, and therefore this method cannot be adopted.
Under the above described situations, there still remains the problem that when the license becomes expired while the user is performing an operation using the application (for example, when the license becomes expired during copying), restart of the application is needed even if the license can be immediately updated, and the user has to perform the operation again. Obviously, this problem will become more serious in proportion to the amount and importance of the operation which the user performs.